home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / DISK / FRDM114E / FREEDOM.TXT < prev    next >
Encoding:
Text File  |  1995-07-05  |  78.8 KB  |  1,650 lines

  1.                           Freedom┐ V1.14a
  2.                           ---------------
  3.                          ('to choose...')
  4.  
  5.                           5th July 1995
  6.  
  7.          (c) 1995 by Christian Krüger and Kolja Koischwitz
  8.  
  9.          EnhancedGEM 2.25 (c) 1995 by Christian Grunenberg
  10.  
  11.                   XIMG decoder (c) by Dirk Haun
  12.  
  13.                 English translation by Joe Connor
  14.  
  15. Overview
  16. ========
  17. Multitasking is the future for Atari software. To survive into this era 
  18. software has to adapt. Most experienced programmers have already 
  19. implemented windowed dialogs, the time for flying dialogs has flown! Only 
  20. two relics remain from this bygone age, the file selector and alert boxes.
  21. There's no way to bypass these system blocking relics, at least there 
  22. wasn't until Freedom┐ arrived and set your applications free!
  23.  
  24. The unbelievable feature list:
  25. ------------------------------
  26. -At least 8 non-modal file selectors at the same time!
  27. -Parallel processing capability!
  28. -Freedom┐ alert boxes can optionally be displayed in windows.
  29. -Any program which supports the VA_START protocol or has a menu bar is no 
  30.  longer blocked!
  31. -Long filename support
  32. -Font, size and colour in directory window are user definable
  33. -User definable font and size
  34. -Drag&drop font protocol support
  35. -Keyboard layout 99% Selectric┐ compatible
  36. -Multiple file selection (naturally Selectric┐ compatible)
  37. -Up to 40 user definable filenames, paths and extensions
  38. -History popup to select from last 20 selected files
  39. -The ultimate in intuitive interface design using Enhanced GEM featuring 
  40.   Short paths, minimal clicks, shortcuts and Popups
  41. -Left handed mode!
  42. -Unix masks (*,?,[]) and extension lists (*.TOS,*.PRG)
  43. -Icons representing files/folders
  44. -Drag&drop support (paths and files and be dragged to the file selector 
  45.   (AV, MultiTOS, Drag&drop) and vice versa
  46. -Messages concerning directory changes evaluated using SH_WDRAW, 
  47.  AV_PATH_UPDATE, SC_CHANGED
  48. -Fuzzy file location! Freedom┐ tries everything possible to ascertain a 
  49.  reasonable application name even under single TOS. Freedom┐ looks for 
  50.  XAcc, AV and even Menutitle0 if the string looks promising (not the Atari 
  51.  symbol or Desk).
  52. -File delete, new file/folder creation and file/folder info
  53. -Search using mask to select or deselect files
  54. -Export paths or selected files as ASCII listing to the Clipboard
  55. -Full communication with available AV-Server (eg Thing/Gemini)
  56. -Delete and touch files
  57. -File delete/copy/move using Drag&Drop or the Clipboard. Kobold is 
  58.  automatically used if loaded in memory or available via the environmental 
  59.  variable KOBOLD_PATH under a multitasking OS.
  60.  
  61. Reasons to use Freedom┐ - A checklist
  62. =====================================
  63. -You can't resist the feature list!
  64. -You use a multitasking OS
  65. -You like using superb software which pushes GEM to the limit
  66. -You have a Flydial, file selector or alert open and:
  67.  
  68.  ... Your comms application rings
  69.  ... Your comms application reports an up/download error
  70.  ... You want to run your GEM ray tracer
  71.  ... You want to use your GEM packer
  72.  ... Your window clock stops
  73.  ... You press F1 and your beloved Kobold doesn't appear
  74.  ... Your MagiC popup is no longer accessible
  75.  ... You can't access the menu bar
  76.  ... Your screenshot program can't take any more pictures
  77.  ... etc etc
  78.  
  79. Add the problems caused by system modal dialogs ('Flydials') together with 
  80. programs which don't offer long filename support and it's time to ditch 
  81. them and see what Freedom┐ has to offer!
  82.  
  83. Installation
  84. ============
  85. -Add FFSEL.PRG to your Auto folder
  86.  -Or optionally use FFSELR.PRG instead
  87.  -Or skip this step
  88. -Rename FREEDOM.APP to FREEDOM.ACC to install Freedom┐ as an accessory 
  89.  under Single TOS
  90.  -Or use a Chameleon to un/load Freedom┐ as desired
  91. -Under MagiC/MiNT FREEDOM.APP can be started as desired. (Under MagiC from 
  92.  the APPS folder or under MiNT in GEM.CNF)
  93.  
  94. If you're short of memory there's another option so long as your computer 
  95. and hard disk are fast enough.
  96. Create a file called FFSEL.INF which contains the path to FREEDOM.APP 
  97. (including the filename) and add it to your Auto folder alongside 
  98. FFSEL.PRG for example:
  99.  
  100. C:\FREEDOM\FREEDOM.APP
  101.  
  102. Using this method the main program FREEDOM.APP is not memory resident but 
  103. loaded into memory as required. After a period of inactivity (defined in 
  104. FREEDOM.CNF using the #SHUTDOWN parameter) FREEDOM.APP can also be 
  105. automatically unloaded from memory.
  106.  
  107. Loading Freedom┐ in and out of memory isn't a problem under a multitasking 
  108. OS. Under single TOS we recommend you install Freedom┐ memory resident BUT 
  109. it is possible to use Chameleon, the accessory loader programmed by 
  110. Karsten Isakovic.
  111. For those determined to ignore our advice a patched version of Chameleon 
  112. is included (with Karsten's permission)) in this distribution. This has 
  113. been patched so that:
  114.  
  115. 1) On reloading an accessory an AC_OPEN isn't automatically sent.
  116. 2) The comprehensive crash using appl_find('?AGI') is rectified.
  117.  
  118. For some strange reason there are a few users who wish to eradicate all 
  119. their free memory by running Freedom┐ AND Selectric┐! This is now possible 
  120. using the program KILLFSEL which deletes the Selectric┐ cookie jar entry.
  121.  
  122. If, during installation, FFSEL finds a FSEL Cookie less than v2.0 it 
  123. replaces this with a pointer to it's own structure. If you luck holds 
  124. Freedom┐ appears with all clean programs leaving Selectric┐ to clean up 
  125. the rest (including the 'Start program...' entry in the MagiC popup.
  126.  
  127. FFSELR.PRG is offered as an alternative to FFSEL.PRG and handles redraw 
  128. messages by filling the application windows with the Freedom┐ logo. When 
  129. the application regains control it can restore its windows.
  130. This method is less compatible than the new version but on slower 
  131. computers saves a few superfluous redraws, it's also a few Kilobytes 
  132. larger. If you'd don't like the fill pattern you can change it using a 
  133. program written by Andrew Mayer. The choice is yours!
  134.  
  135. How Freedom┐ works
  136. ==================
  137. Freedom┐ consists of two parts:
  138. -A file selector/Alert box 'Server' (FREEDOM.APP) which runs as a parallel 
  139.  application or accessory and waits to be activated by calls via the 
  140.  defined interface (usually AES messages).
  141.  A number of file selectors and alert boxes which can be opened is only 
  142.  limited by available memory and window handles.
  143.  The server reports itself on starting using the XAcc Protocol and 
  144.  installs the extended XAcc Names 'XFileSelect\0XFontAck'.
  145.   
  146. -A resident part FFSEL.PRG. Applications which call the file selector or 
  147.  an alert box sends an appropriate request to the Server which (if 
  148.  necessary) starts itself in parallel and waits in an event loop for a 
  149.  reply from the Server.
  150.  Inside the event loop various other messages are handled simultaneously 
  151.  (Window redraw, move, size, top, send to back etc) as long as the 
  152.  alerts/file selectors are active and the menu bar of the calling program 
  153.  is dis/re-enabled.
  154.  By cunning programming this part is up to 8 times re-entrant which means 
  155.  up to 8 different applications, alerts or file selectors may be open 
  156.  before the trap handler ignores any further calls and passes an alert to 
  157.  the system.
  158.  This part also handles conversion of the reply from Freedom┐ using one of 
  159.  the three Selectric┐ protocols. This does however present a problem 
  160.  because only a single Selectric cookie is passed it's possible another 
  161.  application/s could try to communicate simultaneously. To minimise this 
  162.  risk the resident FFSEL sits on messages for applications and passes them 
  163.  on later. The following are specifically 'swallowed':
  164.  
  165.    (AC_CLOSE)      ; Sadly, due to problems with Chameleon
  166.     AC_OPEN
  167.  
  168.     MN_SELECTED
  169.     WM_CLOSED, WM_FULLED, WM_ARROWED,WM_MOVED
  170.     WM_HSLID, WM_VSLID, WM_SIZED, WM_UNTOPPED, WM_TOPPED, WM_ONTOP
  171.     WM_NEWTOP, WM_ICONIFY, WM_UNICONIFY, WM_BOTTOMED
  172.  
  173.     VA_START, VA_STARTED, VA_DRAGACCWIND
  174.  
  175.     AV_SENDKEY     ; AV server should be the Freedom┐ Protocol
  176.     AV_STARTPROG   ; supported, if it's a file selector
  177.     AV_OPENWIND    ; call
  178.     AV_OPENCONSOLE ;
  179.  
  180.     AP_DRAGDROP    ; answered with DD_NAK
  181.     
  182.     WM_REDRAW      ; passed once (maximum) for each window sent by 
  183.     WM_MOVED       ; an application.
  184.  
  185. Operation
  186. =========
  187. Although the Freedom┐ interface is primarily designed to take advantage
  188. of the latest enhanced GEM tools to offer the ultimate in point and click 
  189. simplicity we haven't forgotten users who prefer to navigate menus using 
  190. keyboard shortcuts.
  191.  
  192. Changing drives - using the mouse              Keyboard shortcut
  193. -----------------------------------------------------------------------
  194. Click on the drive letter section of the path  [Control]+L
  195. and a popup containing the available drives    Displays the popup
  196. is displayed. Alternative:
  197.                                                [Alternate]+Drive letter
  198.                                                Changes to drive
  199.  
  200. Changing the file extender - using the mouse   Keyboard shortcut
  201. -----------------------------------------------------------------------
  202. Click on the file extender section of the 
  203. path using:                       
  204. .. Left click:   Directory specific masks      [Control]+Y
  205.                                                +[Shift] if files selected
  206. .. Right click:  User defined masks            [Control]+X
  207.                                                +[Shift] if files selected 
  208. .. Left double click: Dialog to enter mask     [Control]+E
  209. .. Right double click: Pseudo File type masks
  210.                                                Alternative:
  211.                                                [Control]+Number pad 1-0
  212.                                                Selects from the first 
  213.                                                10 defined masks.
  214.                                                [Shift]+[Control]+
  215.                                                Number pad 1-0 selects 
  216.                                                masks 11-20.
  217.                                                [Control]+Number pad .
  218.                                                selects the default mask
  219.                                                [Control]+Number pad *
  220.                                                sets mask to *.* 
  221.                                                  
  222. Change directory level - using the mouse       Keyboard shortcut
  223. -----------------------------------------------------------------------
  224. Left click on the directory section of the 
  225. path using:
  226. .. Directory:   popup with alternative
  227.                 folders is displayed.
  228. .. Slash '\':   The path is 'truncated' at     [Control]+1-0 steps
  229.                 the level selected. This       1-10 levels up 
  230.                 feature is similar to the 
  231.                 'Mac-Path' concept.
  232. .. last '\':    All directories at this level
  233.                 are displayed in a popup.
  234.  
  235. Left click on the Closer (icon to left of      [Control]+[Backspace] or
  236. path) to move up a directory level.            [Control]+[Undo]
  237. Right or double click to return to the root    [Shift]+[Control]+
  238. directory                                      [Backspace] or
  239. Direct single or double click on a folder      Move to folder using the
  240. in the directory window changes to the         scroll arrows then press 
  241. folder.                                        either the [Return] or
  242. Default: Double click needed to open folder    [Enter] key
  243.  
  244. Double left click or single right click on     [Control]+P
  245. the path on or before the last backslash       Alternative:
  246. to display the user defined path popup.        [Alternate]+1-0
  247.                                                selects from the first 
  248.                                                10 user defined paths.
  249.                                                [Alternate]+[Esc]
  250.                                                selects the default path.
  251.                                                [Shift]+[Alternate]+1-0
  252.                                                selects user defined paths 
  253.                                                between 11-20.
  254. Save current status in Clipboard.              [Control]+C
  255. Set current status from Clipboard.             [Shift]+[Control]+V
  256.      
  257.  
  258. De/select files - using the mouse              Keyboard shortcut
  259. -----------------------------------------------------------------------
  260. To select any file use a single left click.
  261. Left click and hold the button down then
  262. drag to select consecutive files.
  263. The directory window automatically scrolls
  264. in the appropriate direction as the upper or
  265. lower edge of the window is reached.
  266.  
  267. Note! If you don't start the drag action
  268. quickly enough the pointer changes to the
  269. hand Drag&Drop icon. The time delay before
  270. the cursor changes is user definable.
  271.  
  272. To select two or more files which are not
  273. adjacent to each other, hold down either
  274. [Shift] key and select them in turn.
  275. To deselect a selected file select it again
  276. whilst holding down either [Shift] key.
  277.  
  278. To de/select all files left click on the       [Control]+A   
  279. fuller icon to the right of the path in
  280. the directory window title bar.
  281. To invert the selected files right click on    [Shift]+[Control]+A
  282. the fuller icon.
  283. To select files using a mask double click on   [Control]+S
  284. the fuller icon and a 'Select files' dialog
  285. appears ready to enter your desired mask. On
  286. exiting the dialog using the 'OK' button all
  287. matching files are selected.
  288. To deselect files using a mask hold down the   [Shift]+[Control]+S
  289. [Shift] key and double click on the fuller
  290. icon to display a 'Deselect files' dialog.
  291. A popup containing the pre-defined files is    [Control]+M or
  292. called by right clicking on 'File:' text to    
  293. the left of the editable field.
  294. A left click displays the 'History' popup      [Control]+<
  295. which contains the last 20 files selected.
  296.  
  297. Selecting file/s with either of these two
  298. Popups automatically closes the Freedom┐ and
  299. passes the file/s to the calling application.
  300. This behaviour can be inhibited by holding
  301. the [Shift] key down during selection.
  302.                                                Using the arrow keys the 
  303.                                                selected file can be 
  304.                                                changed using the selection 
  305.                                                bar like a cursor.
  306.                                                
  307.                                                To scroll the directory 
  308.                                                window a page at a time 
  309.                                                hold down the [Shift]
  310.                                                key. 
  311.                                                
  312.                                                To select the first/last 
  313.                                                entry press [ClrHome]
  314.                                                /[Shift]+[ClrHome] or
  315.                                                [Control]+Cursor up/
  316.                                                [Control]+Cursor down.
  317. Freedom┐ can also be configured so a right
  318. click in the directory window is interpreted
  319. as a [Shift]+left click action.
  320.  
  321. Copy complete path (with mask) to Clipboard    [Control]+C
  322. Collect path (with mask) from Clipboard        [Control]+V
  323.  
  324. File scrolling - using the mouse               Keyboard shortcut
  325. -----------------------------------------------------------------------
  326. The simplest method is a left click and hold   See above 
  327. action to scroll through the files. The        [Control]+Cursor up
  328. slider works just like a standard GEM slider   [Control]+Cursor down
  329. only better because of 'real time' scrolling.
  330.  
  331. If the #RSCROLL option in the configuration
  332. file is active a single right mouse click
  333. anywhere inside the directory window
  334. activates 'Dynamic scrolling'
  335. (As used in the 'Thing' alternative desktop')
  336.  
  337.  
  338. Changing the Sort method - using the mouse     Keyboard shortcut
  339. -----------------------------------------------------------------------
  340. Right or double click on the slider button     [Control]+J
  341. to open the sort popup (locating the sort      Alternatives:
  342. popup on the slider button means it's always   [Control]+H: By name
  343. handy when you need it).                       [Control]+Z: By date
  344.                                                [Control]+G: By size
  345.                                                [Control]+T: By ending
  346.                                                [Control]+K: No sort
  347.                                                [Control]+R: Reverse
  348. File type sorting can additionally be applied
  349. by activating the 'Type' option and can only
  350. be activated using this popup.                                               
  351.  
  352. Drag & drop - using the mouse                  Keyboard shortcut
  353. -----------------------------------------------------------------------
  354. A left mouse click and hold over a selected    [Alternate]+Arrow keys
  355. file (or combination of selected               to manoeuvre the mouse
  356. files/folders) changes the mouse pointer to    pointer over the
  357. the hand icon and surrounds the selected       selected objects, then
  358. objects with a ghosted frame.                  [Alternate]+[Insert] to
  359. These objects can now be dragged to other      'grab' the objects.
  360. applications, eg a desktop, depending on your  Now the objects can be
  361. system. The Info line along the bottom of the  dragged using the
  362. directory window reports the likely result of  [Alternate]+Arrow keys.
  363. releasing the left mouse button.               (These shortcuts are built 
  364.                                                into the OS and nothing to
  365.                                                do with Freedom┐)!
  366. If the files are dragged onto a badly
  367. programmed application Freedom┐ cannot
  368. foresee the outcome. Often nothing at all
  369. happens because the window of an AV-Server
  370. (Gemini/Thing/Ease or other program) has
  371. already requested the destination.
  372.  
  373. Freedom┐ can copy/move objects by
  374. Drag&Dropping objects between windows of an
  375. AV-Server or other Freedom┐ file selectors.
  376. Further (application independent) Freedom┐     [Control]+[Help] or
  377. file selectors can be opened by double or      [Shift]+[Help]
  378. right mosue clicking on the Freedom┐ logo.
  379.  
  380. Freedom┐ functions - using the mouse           Keyboard shortcut
  381. -----------------------------------------------------------------------
  382. Delete: Select the object/s to be deleted      [Control]+D
  383. then click on the Wastebaket icon or drag the
  384. selected objects to the icon.
  385.  
  386. New object: Click on the folder icon to        [Control]+N
  387. display the 'New object' dialog.
  388. Enter the desired folder/file name to be
  389. created and select the desired button to
  390. create an empty (zero length) file or folder.
  391.  
  392. Object Information: Select the object/s you    
  393. would like Information about followed by the
  394. desired action. Alternatively you can drag
  395. the selected object/s to the icon.
  396. .. Left mouse click on the Info icon:          [Control]+I (or [Tab])
  397.    Displays the 'Object-Information' dialog
  398.    for each object in turn.
  399.    For files the dialog displays the file
  400.    creation date and time, filename, size and
  401.    status flags (Locked, Hidden, System and
  402.    Archive). The status flags and filename
  403.    are editable.
  404.    For folders the dialog along with the 
  405.    editable folder name.
  406.    
  407. .. General information ('Count files'):        [Shift]+[Control]+I 
  408.    After selecting one or more objects right
  409.    mouse click on the Info icon to display an
  410.    'Information' dialog which begins a
  411.    recursive count then displays the total
  412.    number of files, folder and bytes.
  413.    If the count is started in error or takes
  414.    too long press the [Esc] key to abort the
  415.    count.
  416.  
  417. .. Drive info ('Count files'):                 [Shift]+[Control]+I 
  418.    Left or right mouse click on the Info icon
  419.    without any objects selected to begin a
  420.    recursive count of all the files on the
  421.    current drive. A dialog displays the total
  422.    number of files, folder and bytes.
  423.    If the count is started in error or takes
  424.    too long press the [Esc] key to abort the
  425.    count.
  426.  
  427. .. Touch:                                      [Control]+B
  428.    The 'Touch' button updates (recursively)
  429.    the file creation date and time for each
  430.    selected file. Select the desired object/s
  431.    then drag them to the New object icon to
  432.    display the Touch dialog. 
  433.    
  434. Export to Clipboard: Select the desired        [Control]+C for copy
  435. object/s then drag them to, or click on, the   [Control]+X for move
  436. Clipboard icon. For move operations hold down
  437. the [Control] key during the drag action.
  438.  
  439. A file SCRAP.TXT will be created listing the
  440. selected paths and filenames, tagged to 
  441. distinguish between copy and move operations.
  442.  
  443. Import (Copy/move) from Clipboard:             [Control]+V
  444. The contents of the file SCRAP.TXT is acted
  445. upon. Select the destination directory then
  446. click on the Clipboard icon or drag the
  447. Clipboard icon to the desired location.
  448. For move operations hold down the [Control]
  449. key during the drag action.
  450.  
  451. Right mouse click on the clipboard to          [Shift]+[Control]+V
  452. import the path from SCRAP.TXT. Freedom┐
  453. jumps to select any specified object/s.
  454. Naturally if SCRAP.TXT contains garbage
  455. anything can happen!
  456. It's also possible to 'exchange' object/s
  457. with a window in the Gemini desktop.
  458. Highlight the desired object's in a Gemini
  459. window then press [Control]+C to export it
  460. to the Clipboard and use [Control]+V to 
  461. import the paths in Freedom┐. Unfortunately
  462. this currently doesn't work in the other
  463. direction due to a faulty Gemini function.
  464.  
  465. Find file: Click on the magnifying glass to    [Control]+F
  466. display the Object search dialog. Enter a
  467. search mask and select whether the current
  468. folder, drive or all drives will be searched.
  469. If the environmental variable DRIVEMAP is set
  470. this is used when search all drives is
  471. selected.
  472. Click 'OK' to start the search and any
  473. keypress [Esc] to abort at any time.
  474. If a matching file is found the search is
  475. paused and its name is displayed in the wide
  476. button beneath the Search line.
  477. Four options are available:
  478. .. Wide button: The file is passed to the
  479.    underlying file selector which passes the
  480.    file to the application and automatically
  481.    closes Freedom┐.
  482. .. OK: Single left click passes the file to
  483.    the underlying selector with the matching
  484.    file selected and entered in the 'File'
  485.    editable field. A double or right mouse
  486.    click has the same effect as clicking on
  487.    the wide button.
  488. .. Again: Searches for another matching file.
  489. .. Cancel: Close the dialog without action.
  490.  
  491. Freedom┐ normally puts an 'invisible' link
  492. between the search dialog which means it's
  493. only possible to open one search dialog per
  494. file selector.
  495. This option offers the possibility of          [Shift]+[Control]+F
  496. opening multiple search dialogs which can
  497. all run even under Single TOS!
  498. Don't blame us if your hard disk explodes!
  499.  
  500. Open object: Primarily for multitasking OS     Select file/s then press
  501. users. A double/right mouse click, whilst      [Control]+O
  502. holding down either the [Alternate] or         
  503. [Control] key, on an object/s opens the        
  504. object/s.
  505. i.e. if a viewer is configured to handle a     Alternatively a single
  506. certain filetype a message is sent with the    file can be opened using
  507. selected file/s. Freedom┐ also starts the      [Control]+[Return]
  508. viewer in parallel if it's not already memory
  509. resident. Since this isn't very flexible
  510. Freedom┐ lets the AV-Server (where possible)
  511. handle this because it can also take into
  512. account installed applications etc.
  513.  
  514.  
  515. The one-step auto-locator - an overview...
  516. ------------------------------------------
  517. A certain other file selector offers an auto-locator but ours is different 
  518. and we're proud of its functionality!
  519.  
  520. Our 'One-step auto-locator' is similar in operation to the 'Completion' 
  521. command anyone familiar with command shells should recognise.
  522. If the auto-locator is switched off it can be activated by pressing the 
  523. [Tab] key. There is an apparent conflict with the 'Object info' function 
  524. which is also assigned to the [Tab] key. To avoid this conflict 'Object 
  525. info' is also assigned to the [Control]+[I] and the 'One-step 
  526. auto-locator' is also assigned to the [Control]+[Tab].
  527. By default (set in the CFN file) the Freedom┐ auto-locator searches for 
  528. both files and folders. Holding down the [Shift] key during a search 
  529. restricts the search to files only.
  530. The 'One-step' feature steps through each matching file in turn before 
  531. looping back to the first match for another cycle, the ultimate in 
  532. convienience!
  533.  
  534.  
  535. The Clipboard
  536. -------------
  537. The Clipboard, via the file SCRAP.TXT, is used to store the object names 
  538. and paths for subsequent use.
  539. To exchange files with the Clipboard the standard copy, [Control]+C, and 
  540. move, [Control]+X, key combinations are available. Altenatively object/s 
  541. can be Drag&Dropped onto the Clipboard icon.
  542. A single left click on the Clipboard icon changes the pointer to display a 
  543. hand with the ghosted image of the object/s ready to Drag&Drop onto other 
  544. applications, editable fields, path fields or the Freedom┐ Trashcan/Info 
  545. icons or any Freedom┐ file list window (to copy).
  546. Copy/move operations can also be completed using the keyboard combination 
  547. [Control]+V which checks the status of the move/copy flag.
  548. Holding down the [Shift] key in addition to [Control]+V causes Freedom┐ to 
  549. jump to the directory containing the objects listed in SCRAP.TXT and 
  550. highlight them ready for selection. This makes it easy to return to the 
  551. original path after a copy/move operation (similar to Selectric).
  552. Another useful feature is the ability to 'capture' a formatted filelist. 
  553. Highlight the desired files then double click on the Clipboard icon or 
  554. press [Shift]+[Control]+V to save the list in SCRAP.TXT. Here's a simple 
  555. example #NICEFORMAT string in FREEDOM.CNF:
  556.  
  557. #NICEFORMAT Filename: %-F.%-E Size: %11P Bytes
  558.  
  559. And here's the resulting output:
  560.  
  561. Filename: evrst34e.zip Size:      96.472 Bytes
  562. Filename: frdm114d.lzh Size:     365.720 Bytes
  563. Filename: html093 .lzh Size:     107.119 Bytes
  564.  
  565. Notes!
  566. Remember object/s are only physically copied/moved when they are 
  567. Drag&Dropped to another location or pasted using [Control]+V.
  568. Warning: DON'T copy files to the Clipboard then delete the originals 
  569. because all you'll have left is a file list in SCRAP.TXT!!!!
  570. SCRAP.TXT itself is vunerable and is often written to by other 
  571. applications so it's safest (and sensible) to perform copy/move/paste 
  572. operations following on from each other then you're unlikely to encounter 
  573. unexpected data in SCRAP.TXT.
  574. For anyone interested Freedom┐ (cheekily :-) sets the file archive bit for 
  575. SCRAP.TXT when using [Control]+X or [Control]+V. Using [Control]+X the 
  576. (normally set) archive bit is cleared.
  577. It's also possible to drag object/s even if Freedom┐ is display as a modal 
  578. dialog.
  579.  
  580. Seven little helpers - the popup menus
  581. ------------------------------------
  582. Have you ever noticed how often you working on the same files? Sometimes 
  583. days or even weeks at a time! And each time you have to select them using 
  584. the file selector. With Freedom┐ it doesn't have to be this way! If you're 
  585. used to using other file selectors which offer user definable paths and 
  586. extensions you'll know just how useful they are. No doubt you'll also have 
  587. noticed how quickly you run out of slots! Freedom┐ offers up to 40 full 
  588. paths and extensions which should be enough for most people!
  589.  
  590. File popup
  591. ----------
  592. A single right mouse click on the word 'File:' preceding the editable file 
  593. selection field displays the File popup, simply select the desired file 
  594. and Freedom┐ automatically closes itself and passes the specified file to 
  595. the calling application.
  596. Up to 40 files with full path entries can be defined under the #FILES 
  597. section in FREEDOM.CNF.
  598. A single click on the File popup displays files which match the currently 
  599. active mask and a double click displays all files up to the maximum which 
  600. can be fitted on screen. To display all available files select the '*.*' 
  601. mask.
  602.  
  603. History popup
  604. -------------
  605. A single left mouse click on the word 'File:' preceding the editable file 
  606. selection field displays the History popup, simply select the desired file 
  607. and Freedom┐ automatically closes itself and passes the specified file to 
  608. the calling application.
  609. This popup contains the last 40 (maximum) selected files which makes it 
  610. reall easy to find files quickly.
  611. If the #HISTFILE <ful path> is set in FREEDOM.CNF the contents of the 
  612. history popup is stored and restored next time you power on your machine 
  613. and run Freedom┐.
  614. A single click on the History popup displays files which match the 
  615. currently active mask and a double click displays all files up to the 
  616. maximum which can be fitted on screen. To display all available files 
  617. select the '*.*' mask.
  618.  
  619. Path popup
  620. ----------
  621. A double/right click anywhere before the last '\' on the path line 
  622. displays the Path popup, simply select the desired path in the popup and 
  623. Freedom┐ jumps to the specified directory, all that remains is select the 
  624. desired file followed by the 'OK' button.
  625. Entries can be changed by opening the popup with the desired directory and 
  626. mask active then selecting an existing slot with a double click or a 
  627. single click whilst holding down the [Shift] key.
  628. Up to 40 files can be defined under the #PATHS section in FREEDOM.CNF.
  629.  
  630. Extension popup
  631. ---------------
  632. A right mouse click to the right of the last '\' on the path line displays 
  633. the Extension popup, simply select the desired extension mask to display 
  634. files of the desired type in the directory window. The first entry in this 
  635. popup is always '*.*'.
  636. Entries can be changed by right clicking to the right of the last '\' on 
  637. the path line then selecting an existing slot with a double click or a 
  638. single click whilst holding down the [Shift] key.
  639. A double click to the right of the last '\' on the path line displays the 
  640. 'New mask' dialog. Enter the desired mask and select 'OK' to activate the 
  641. mask.
  642.  
  643. Currently edited settings (in the Path and Extension Popups) are NOT 
  644. stored in the CFN file and are consequently lost when you reboot your 
  645. machine. You'll have to edit the CFN file manually until we change 
  646. Freedom┐.
  647.  
  648. File type popup
  649. ---------------
  650. A double right mouse click to the right of the last '\' on the path line 
  651. displays the File type popup, select the desired 'psuedo' file type mask 
  652. which appears inside brackets, eg <Program>, at the end of the path line 
  653. instead of the usual extender. Only folders and matching file types are 
  654. displayed in the directory window. The first entry in this popup is always 
  655. 'Folder'. Hold down the [Shift] key while right double clicking on the 
  656. extension to append further file types to the path line.
  657.  
  658. Drive popup
  659. -----------
  660. A left mouse click before the first '\' on the path line displays the 
  661. available drives.
  662.  
  663. Folder popup
  664. ------------
  665. A left mouse click on or before the last '\' on the path line displays a 
  666. popup containing the folders at the selected directory level.
  667.  
  668.  
  669. General points 
  670. --------------
  671. -The small icon at the bottom right can be used to resize the number of 
  672.  lines and columns used by Freedom┐.
  673. -Freedom┐ always allows multiple file selection however on selecting 'OK' 
  674.  it depends on the calling application how many files are loaded. In many 
  675.  cases this is only a single file.
  676. -The way Freedom┐ is designed often means there are two alternative ways 
  677.  of doing things. Some people prefer pressing the mouse button down for 
  678.  the whole time during a action, others prefer to click once to start and 
  679.  once briefly again to finish. Freedom┐ offers both methods in the 
  680.  following cases:
  681.  In all popups, using the slider, as a flying dialog (with Freedom┐ 
  682.  running in modal mode) using the size icon and finally even using 
  683.  Drag&Drop (Grab using [Control] or [Alternate] keys).
  684. -The (Selectric┐ compatible) function keys can be turned off (using the 
  685.  #NOFKTKEYS option in FREEDOM.CFN) so they can passed to an AV-Server.
  686. -The 'Again' button in the Search dialog offers an exceptional function:
  687.  Hold down this button using the mouse to 'pseudo skip' files you're not 
  688.  interested in. Alternatively use the keyboard shortcut [Alternate]+W in 
  689.  which case keyboard events are surpressed!
  690. -Optionally Freedom┐ can display all its alert boxes completely in the 
  691.  background in which case they can be controlled without holding the right 
  692.  mouse button down. If in spite of this option you wish to top a Freedom┐ 
  693.  alert this you can either click on the window title or briefly click any 
  694.  non-selectable background area!
  695. If you've read enough about features we suggest you have a play. After a 
  696. few days (at most!) you'll have forgotten your old file selector and 
  697. appreciate just how intuitive and powerful Freedom┐'s interface really is!
  698.  
  699. Overview of Freedom┐ keyboard shortcuts
  700. =======================================
  701. [Alternate]+A-Z          Select drive
  702. [Control]+[Backspace]    Step one directory level up
  703. [Control]+[Undo]         Step one directory level up
  704. [Control]+A              Select all
  705. [Control]+[Shift]+A      Invert selection
  706. [Control]+D              Delete selected folder(s)/file(s)
  707. [Control]+N              New object
  708. [Control]+I              Object info
  709. [Control]+[Shift]+I      File count, drive info
  710. [Control]+B              Touch file/s
  711. [Tab]                    Object info OR auto-locator
  712.                          (Depends on #SHELLTAB option in CNF file)
  713. [Control]+[Tab]          One-step auto-locator; cyclic folder and files
  714. [Control]+[Shift]+[Tab]  One-step auto-locator; cyclic files only
  715. [Control]+F              Search for object, linked to current file 
  716.                          selector (F for find)
  717. [Control]+[Shift]+F      Search for object, independent of selector
  718. [Control]+C              Copy current status to Clipboard
  719. [Control]+[Shift]+C      Export directory listing according to the
  720.                          #NICEFORMAT format string to Clipboard
  721. [Control]+V              Copy/move files using data in file list
  722. [Control]+[Shift]+V      Import status from Clipboard
  723. [Control]+H              Sort by Name; H like Selectric┐ [Control]+Z    
  724.                          Sort by Date; Z for Zeit (German for Time)
  725. [Control]+G              Sort by Size; G for Grö₧e (German for Size)
  726. [Control]+T              Sort by Type 
  727. [Control]+K              Unsorted; K for Keine (German for none)
  728. [Control]+R              Sort in Reverse
  729. [Control]+[Shift]+S      Deselect files using mask
  730. [Control]+S              Select files using mask
  731. [Control]+E              Enter mask (E for extension)
  732. [Control]+Y              Open application specific Extension popup
  733. [Control]+P              Open user defined Path popup
  734. [Control]+J              Open Sort popup
  735. [Control]+X              File list to Clipboard (SCRAP.TXT) tagged move
  736. [Control]+[Shift]+X      Open user defined extension popup (eXtension)
  737. [Control]+M              Open filtered user defined File popup
  738. [Control]+[Shift]+M      Open unfiltered user defined File popup
  739. [Control]+<              Open filtered History popup (< for backwards)
  740. [Control]+[Shift]+<      Open unfiltered History popup
  741. [Control]+L              Open Drive popup
  742. [Control]+W              Cycle windows forwards
  743. [Control]+[Shift]+W      Cycle windows backwards
  744. [Alternate]+[Control]+W  Global window change (only via AV-Server)
  745. [Control]+[Return] or    Open selected object (under a multitasking OS
  746. [Control]+O              or AV-Server eg Gemini/Thing etc)
  747. [Control]+1-0            Select directory level from 1 to 10
  748. [Alternate]+[Esc]        Select the default (home) path
  749. [Alternate]+1-0          Select user defined paths from 0 to 10
  750. [Alternate]+[Shift]+1-0  Select user defined paths from 11 to 20
  751. [Control]+Num.Pad .      Select default extension
  752. [Control]+Num.Pad 1-0    Select user defined extensions from 1 to 10
  753. [Control]+[Shift]+       Select user defined extensions from 11 to 20
  754. Num.Pad 1-0
  755. [Control]+Num.Pad *      Select *.* as mask
  756. [Control]+Num.Pad /      Same as Freedom┐ window fuller icon
  757. [Control]+Num.Pad +      Same as [Cursor down]+click on 'OK' button
  758. [Control]+Num.Pad -      Same as [Cursor up]+click on 'OK' button
  759. [Shift]+[Esc] or         Re-read directory
  760. [Control]+[Esc]          
  761. [Esc]                    Clear 'File' editable field
  762. [Return] or [Enter]      Same as 'OK'. Any selected files/folders will 
  763.                          be passed to the calling application as 
  764.                          file/s
  765. [Shift]+[Return] or      Same as 'OK'. Any selected files/folders are
  766. [Shift]+[Enter]          ignored and solely the text in the 'File' 
  767.                          editable field is passed as a file to the 
  768.                          calling applications
  769. [Control]+Q, [Undo]      Same as 'Cancel'
  770. or [Control]+U                   
  771. [Help]                   Freedom┐ info
  772. [Shift]+[Help] or        Open another application independent
  773. [Control]+[Help]         file selector
  774. [Alternate]+[Control]+
  775. Space bar                De/Iconify Freedom┐ selector or alert
  776. [Control]+Cursor up      Same as Freedom┐ up scroll arrow
  777. [Control]+Cursor down    Same as Freedom┐ down scroll arrow
  778. Cursor up                Move selected file 'Cursor' up
  779. Cursor down              Move selected file 'Cursor' down
  780. [Shift]+Cursor up        Move selected file 'Cursor' up a page
  781. [Shift]+Cursor down      Move selected file 'Cursor' down a page
  782. [ClrHome]                Select first entry in directory window
  783. [Shift]+[ClrHome]        Select last entry in directory window
  784.  
  785. The function keys F1-F10, [Shift]+F1-F10 (=F11-F20) are user 
  786. definable.
  787.  
  788. Parallel processing capability
  789. ==============================
  790. Freedom┐ works like a co-operative operating system, allocating available 
  791. processor time between all the currently running tasks.
  792. This means that under normal (co-operative) TOS versions Freedom┐ can work 
  793. on a file search whilst reading a large directory or performing a file 
  794. count for a drive. Even better each action started in Freedom┐ (Search, 
  795. delete, file counts, directory reading, copy, move ..) are managed as 
  796. extra tasks by Freedom┐ and can all run in the background even if 
  797. individual task/s opens a popup, window or dialog! Unfortunately, thanks 
  798. to the slow speed of GEMDOS, running parallel copy/move operations will 
  799. cause Freedom┐ to grind to a halt all on but the fastest machines with 
  800. fast storage media...
  801.  
  802. One search dialog per file selector is allowed and it's bound to the file 
  803. selector it was initiated from. However, using [Control]+[Shift]+F it's 
  804. now possible to launch multiple independent search operations, set them 
  805. all off to find different files, close Freedom┐ and sit back and watch 
  806. your hard disk explode!
  807.  
  808. Other operations including file counts, drive info, delete, touch and file 
  809. info operations can run at the same time, the hard part is keeping on top 
  810. of all the activities!
  811.  
  812. The 'De/Select files' and 'Enter new mask' dialogs can only be started 
  813. once and are bound to the file selector from which they were called.
  814.  
  815. Drag and drop
  816. =============
  817. Freedom┐ can pass and receive files using Drag&Drop with applications 
  818. using MultiTOS and AV Drag&Drop.
  819.  
  820. Generally this means:
  821.  
  822. -You can Drag&Drop files, holding the [Shift] key down, to a destination 
  823.  Freedom┐ file selector which will automatically close and pass the 
  824.  dragged files to the calling application.
  825.  (If you'd rather not hold the [Shift] key down you can Drag&Drop the 
  826.  files onto the the 'File:' editable field.
  827. -A Drag&Drop without modifier keys copies (if possible).
  828. -A Drag&Drop holding down the [Control] key moves (if possible).
  829. -Additionally holding down the [Alternate] key during a copy/move 
  830.  operation enables objects to be renamed before copying/moving.
  831. -Drag&Drop onto icons: Drag objects from Freedom┐ to other applications,
  832.  for example, to alternative desktops such as Thing and Gemini or to the 
  833.  icons (Delete/Info etc) in other Freedom┐ selectors)
  834.  
  835. The way it works (Methodology)
  836. ------------------------------
  837. Where possible Drag&Drop copy/move actions will be left to the AV-Server 
  838. (Thing/Gemini). If no AV-Server is available Freedom┐ tries to copy/move 
  839. the files itself.
  840. Drag your files to another unblocked application and Freedom┐ asks the 
  841. AV-Server whether it recognises the destination application then passes 
  842. the files, if necessary via an intermediate AV-Server. If no AV-Server is 
  843. available or the application is unknown then (as a last attempt) a 
  844. VA_START is sent to the owner of the window (unless this can be determined 
  845. using Appl. 0).
  846. Freedom┐ can also communicate with applications (for example Gemview) 
  847. using the MultiTOS Drag&Drop (via pipes) although with most applications 
  848. this involves a delay of several seconds. Applications which support 
  849. MultiTOS Drag&Drop can have their filenames, without extensions, added 
  850. under the #PIPEDD section of FREEDOM.CNF.
  851.  
  852. Dragging object/s onto Freedom┐'s path line selects the object/s (just 
  853. like dragging object/s to the 'File' line) except Freedom┐ remains open.
  854.  
  855. The file type concept
  856. =====================
  857. Each file type can be assigned:
  858.  
  859. -Name:   A text description
  860. -Sort:   A sort priority
  861. -Image:  Number of the image in the image file
  862. Colours: Foreground colour for text, selected and unselected
  863.          Background colour for text, selected and unselected
  864. Mask:    A preceding \ denotes a folder rule         
  865.  
  866. Here's one example line from the #FILETYPES section from FREEDOM.CNF:
  867.  
  868. Program   19    1  0 1 1 0 *.PRG,*.TOS,*.ACC,*.TTP,*.GTP,*.APP
  869.    |      |     |  | | | |    |
  870.    |      |     |  | | | |    +--Mask for list of file types
  871.    |      |     |  | | | +-------Text colour (selected)
  872.    |      |     |  | | +---------Background (selected)
  873.    |      |     |  | +-----------Text colour (Deselected)
  874.    |      |     |  +-------------Background (Deselected)
  875.    |      |     +----------------Number of the corresponding image (icon)
  876.    |      +----------------------Sort priority
  877.    +-----------------------------Type name (preferably brief descriptions)
  878.                                  (Refer to the Thing Desktop)
  879.  
  880. The file type descriptions can optionally be displayed in the directory 
  881. window by adding '%X' in the format string.
  882. The Type option has also been added to the Sort popup and may be used in 
  883. addition to the other sort methods. If selected the file type becomes the 
  884. primary sort attribute and files are first grouped into types, according 
  885. to their priority in FREEDOM.CNF, then sorted using the current secondary 
  886. attribute (Name, Date, Size, Extender, Unsorted). Because two sorts are 
  887. performed this option is slower.
  888. Be careful to place general masks after specific ones. For example placing 
  889. if '*.*' is used as the first entry all subsequent entries will be 
  890. ignored.
  891.  
  892. Configuration
  893. =============
  894. Freedom┐ is highly configurable, the options include:
  895.  
  896. -Font, size, colours and line spacing in the selector directory window
  897. -Scroll bar position to left/right of directory window
  898. -Various delay actions
  899. -Separate format string for 8.3 and long format filenames
  900. -Whether case sensitivity is observed
  901. -Whether the auto-locator is active and matches files and folders
  902. -Whether the alert box buttons are all the same width
  903. -Where Kobold is located (Environmental variable is checked)
  904. -Name of file viewer (1st View, ST-Guide etc)
  905. -Name of search utility (Parafin, FSearch etc)
  906. -Function key layout
  907. -Which files are interpreted as executables
  908. -Whether folders are opened using a single or double click
  909. -Whether a right click in the directory window scrolls (like Thing)
  910.  or (like everywhere else) a double click is used
  911. -Whether background operation of window dialogs is active
  912. -Whether the file selector opens under the mouse
  913. -Number of lines/columns for the directory window
  914. -Up to 40 user defined files
  915. -Up to 40 user defined paths
  916. -Up to 40 user defined extensions
  917. -The path to search for the Freedom┐ file icons (FREEDMxx.IMG)
  918. -Rules which control file icon/colour/priority etc
  919. -List of applications Freedom┐ should run in modal mode
  920. -List of up to 16 applications which do not co-exist with Freedom┐
  921. -List of up to 64 applications which Freedom┐ can call using the VA_START 
  922.  or Menu bar trick
  923. -Whether Freedom┐ displays alert boxes in windows
  924.  
  925. Currently these parameters can only by changed by editing the CNF file in 
  926. a text editor (Everest etc) but don't panic! The CNF file is heavily 
  927. commented. Some changes only take effect on re-launching Freedom┐.
  928.  
  929. On starting Freedom┐ searches for its configuration file under a name 
  930. which corresponds to the current screen resolution (using the same method 
  931. employed by Gemini).
  932. For example at 640x400 resolution 06400400.CNF, at 1280x960 resolution 
  933. 12800960.CNF etc. If Freedom┐ can't find a file specifically for the 
  934. current resolution it searches for FREEDOM.CNF and if this fails default 
  935. values are used instead.
  936. Freedom┐ searches for it's configuration file using the shel_find() call 
  937. which means the search is left to the AES. The AES searches the current 
  938. directory and all directories listed in the $PATH environmental variable.
  939. Using the Image path (#IMAGEPATH) variable in the CNF file it's possible 
  940. to set a different image file for each colour depth and resolution and 
  941. similarly, using the Font setting (#FONTID) different fonts for each 
  942. resolution can be set up.
  943.  
  944. Example:
  945. --------
  946. Actual folder containing Freedom┐:
  947.  
  948. 03200200.CNF
  949. Could have an entry: #IMAGEPATH C:\FREEDOM\FDIMG\SMALL\
  950.  
  951. 06400400.CNF
  952. Could have an entry: #IMAGEPATH C:\FREEDOM\FDIMG\NORMAL\
  953.             
  954. The icon image file at 320x200 resolution would be searched for in: 
  955. 'C:\FREEDOM\FDIMG\SMALL\'
  956. At 640x400 resolution 'C:\FREEDOM\FDIMG\NORMAL\' would be searched 
  957. instead.
  958.  
  959. The Image filenames denote the colour depth, for example:
  960. FREEDM04.IMG is 4 bit or 16 colours deep
  961. FREEDM08.IMG is 8 bit or 256 colours deep
  962.  
  963. Important! Users of pre-version 1.14 should add the #IMAGES keyword to 
  964.            their FREEDOM.CNF otherwise your icons will not be loaded!
  965. The #IMAGES keyword sets how many icons exist in the IMG files. If the 
  966. value is set explicity to 0 (or set incorrectly) no icons will be 
  967. displayed. If this keyword is missing altogether only the folder icon is 
  968. displayed.
  969.  
  970. General configuration file notes
  971. --------------------------------
  972. Freedom┐ reads the file line by line. Any line preceded with a semi-colon 
  973. ';' character is ignored. All other lines are searched for recognised 
  974. keywords, for example #AUTOLOCATE. Keywords all begin with a hash '#' 
  975. character. If no keyword is found the line is assumed to belong to the 
  976. previously recognised keyword. Some options are followed by a list, for 
  977. example #PATHS where up to 40 lines containing paths may follow.
  978.  
  979. Exact information about each individual option can be found in the example 
  980. configuration files included in the distribution and can be viewed and 
  981. edited using your favourite text editor (Everest etc). Be sure to keep a 
  982. back-up copy before making changes!
  983.  
  984.  
  985. The Image files and corresponding masks
  986. =======================================
  987. Freedom┐ reads FREEDOM.CNF and searches the path specified by #IMAGEPATH 
  988. for the XIMG format files FREEDMxx.IMG where 'xx' represents the number of 
  989. bitplanes, for example:
  990.  
  991. Monochrome resolutions have 1 bitplane and load:  FREEDM01.IMG
  992. 16 colour resolutions have 4 bitplanes and load:  FREEDM04.IMG
  993. 256 colour resolutions have 8 bitplanes and load: FREEDM08.IMG
  994.  
  995. If an appropriate image in XIMG format is found, and it has exactly the 
  996. right number of bitplanes, it will be loaded and divided into individual 
  997. images according to the value set in #IMAGES.
  998. For example if the image loaded is 280 pixels wide and 16 pixels high and 
  999. #IMAGES 14 it's divided into 14 separate 20x16 pixel icons.
  1000. This is a very flexible and easy to extend system but be careful when 
  1001. adding new icons or changing font size. Remember to update the #IMAGES 
  1002. value and if necessary edit your XIMG to the correct height. Always work 
  1003. on a back-up!
  1004.  
  1005. The Format string
  1006. -----------------
  1007. Freedom┐ makes it easy to format the entries in the directory window to 
  1008. suit your needs. In addition to the standard 8.3 format (8 character 
  1009. filename followed by a period and 3 character extender) other file systems 
  1010. which use long filenames or other formats can be accessed.
  1011.  
  1012. The display format is handled using a single format string in which the 
  1013. percent '%' character plays a special role. Let's set-up a string which 
  1014. formats the directory window listing to display the filename, size, date 
  1015. and time as follows:
  1016.  
  1017. :
  1018. EVEREST  PRG  154.510  29.10.94  09:41
  1019. EVEREST  INF      840  09.01.95  11:36
  1020. :
  1021.  
  1022. First the filename is listed in standard 8.3 format followed by the size 
  1023. up to a maximum 9 digits followed by the date and time without seconds. 
  1024. Here's the format string:
  1025.  
  1026. #FORMAT %-F %-E%9K  %T%2D.%2M.%2Y %T%h:%m
  1027.  
  1028. The format string uses the percent '%' character as a place marker for 
  1029. each attribute, the following attributes are available:
  1030.  
  1031. F     Filename up to the last period (if period used)
  1032. E     Filename from the last point (if extension used)
  1033. N     Full (unformatted) filename
  1034. D     Day
  1035. M     Month
  1036. Y     Year (without century 00-99)
  1037. h     Hour
  1038. m     Minutes
  1039. s     Seconds
  1040. S     Size in Bytes of file in '13456789' format, folders excluded
  1041. P     Size in Bytes of file in '1.345.678' format, folders excluded
  1042. K     Size in Bytes of file in '13456789' format, folders '<folder>'
  1043. T     Use the clock symbol for today's files, otherwise nothing
  1044. A[xx] Attribute bit of the files   [-a] Default character
  1045. W[xx] Write protected file status  [-r] Default character
  1046. H[xx] Hidden bit file status       [-h] Default character
  1047. Z[xx] System bit file status       [-s] Default character
  1048. X     File type
  1049. a     Any ASCII character (e.g, %13a for CR or %10a for LF)
  1050. %  The percent character used to denote attributes
  1051.  
  1052. Tabs  (Pseudo attributes):
  1053. L     Left justified tab (character by character)
  1054. C     Centred tab (character by character)
  1055. R     Right justified tab (character by character)
  1056. l     Left justified tab (pixel by pixel)
  1057. c     Centred tab (pixel by pixel)
  1058. r     Right justified tab (pixel by pixel)
  1059.  
  1060. (Suggestions for other attributes welcomed!)
  1061.  
  1062. Each attribute displayed by Freedom┐ has a default width. To make the 
  1063. width wider or narrower you can set the new width directly between the '%' 
  1064. character and the attribute (eg %9P). Freedom┐ right-justifies all 
  1065. attributes narrower than the field width. If you'd prefer to left-justify 
  1066. attributes insert a '-' immediately after the '%' part of the attribute, 
  1067. the '%-20N' start of the following example does this:
  1068.  
  1069. On a system supporting long filenames it's not so important to use 
  1070. separate attributes for the filename and extender, here's an example:
  1071.  
  1072. #LONGFORMAT %-20N%9P %2D.%2M.%2Y
  1073.  
  1074. The directory window output leaves more room for the long filenames:
  1075. :
  1076. EVEREST.PRG           154.510 29.10.94
  1077. EVEREST.INF               840 09.01.95
  1078. :
  1079.  
  1080. Proportional fonts
  1081. ------------------
  1082. With the introduction of tab handling (%L,%C,%R,%l,%c,%r) Freedom┐ can now 
  1083. make practical use of proportional fonts.
  1084. The format string is used as the horizontal 'cursor' which together with 
  1085. the tab attributes provide good control over the directory window display.
  1086.  
  1087. %l or %L displays left justified output to the right of the cursor 
  1088. position, %c and %C display centred output around the cursor postion and 
  1089. %r and %R display right justified output to the left of the cursor.
  1090. All the tab attributes are strung together into a Format string. The 
  1091. offset values are always relative to the previous tab position.
  1092.  
  1093. Negative tabs are allowed and text could overlay other text although this 
  1094. is likely to result in an untidy display (!) If no tabs are active, each 
  1095. attribute has a default width, which is padded with space characters to 
  1096. the left and right as needed to fit the default width.
  1097. Using proportional fonts this is not desirable so it's important the first 
  1098. attribute in the format string is a tab. Here's an (ugly) example:
  1099.  
  1100. %12R%N%6C%P%6L%2D.%2M.%2Y %T%h:%m
  1101.  
  1102. '%N' displays the full filename right justified to 12 character spaces. At 
  1103. this point the cursor is positioned 12 character spaces from the left 
  1104. border. Next follows a centred tab which moves the cursor a further 6 
  1105. places to the right and '%P' displays the size of the file centered around 
  1106. this position. The cursor is now 18 character spaces from the left border. 
  1107. Finally the cursor is moved another 6 characters to the right to display 
  1108. the rest of the format string left justified 24 character spaces from the 
  1109. left border.
  1110.  
  1111. The VA_START trick
  1112. ------------------
  1113. Using the VA_START message (Gemini/Thing/Ease) many programs can be 
  1114. 'tricked' into loading file(s) without loading another copy of itself into 
  1115. memory.
  1116. Calling Freedom┐ from an application which understands the VA_START 
  1117. message (and is configured in the CNF file) causes Freedom┐ to send a 
  1118. simulated message back to the application that the 'Cancel' button has 
  1119. been pressed. This causes the application to call fsel_input then continue 
  1120. working leaving the Freedom┐ window open!
  1121. After selecting a file(s) and exiting Freedom┐ using the 'OK' button 
  1122. Freedom┐ sends a VA_START message to the calling application which opens 
  1123. the file(s). It's similar to dragging file(s) onto an icon installed on 
  1124. the desktop (Gemini/Thing/Ease).
  1125. Some example programs which understand the VA_START message are included 
  1126. in the example CNF file. There are plenty of programs which don't like 
  1127. this arrangement but one glorious exception is the Everest text editor, 
  1128. which handles everything VA_START throws at it!
  1129. A disadvantage of the VA_START method is the directory path cannot be 
  1130. passed so next time the file selector is opened the old path is displayed. 
  1131. One workaround if the program understands VA_START and you have enough 
  1132. free screen available is to simply leave the Freedom┐ file selector open. 
  1133. This makes it possible to can drag files to the window of any application 
  1134. which understands VA_START at any time.
  1135.  
  1136. Example #VA_START entry in FREEDOM.CNF:
  1137.  
  1138. PAULA Load MODFILE
  1139.  |     |
  1140.  |     +-- Title in the file selector which Freedom┐ looks for
  1141.  +-------- AES program name
  1142.  
  1143. The Menu bar trick
  1144. ------------------
  1145. And another trick: Applications in which file selector calls are directly 
  1146. bound to a menu entry can be added to the #MENUBAR section in FREEDOM.CNF. 
  1147. This allows absolutely non modal multiple file selections to be made. In 
  1148. contrast to the VA_START trick this method has the advantage of passing 
  1149. the directory path and extension.
  1150. Using the supplied program MENU_ID, which runs as an application or 
  1151. accessory (APP/ACC), the ID numbers for a menu entry can be determined. 
  1152. Like the VA_START method the file selector returns 'Cancel' and then 
  1153. supplies the file/s afterwards. An MN_SELECTED message is sent to the 
  1154. relevant application (which simulates the menu item) and the program then 
  1155. calls fsel_[ex]input. Instead of opening a new file selector one of the 
  1156. selected files is returned with, if neccessary, a restore MN_SELECTED 
  1157. message. Finally multiple file selection. This doesn't work with programs 
  1158. without menu lines or programs which call the file selector from a dialog. 
  1159. You should not try to use the Menu bar trick for menu items such as 'Save
  1160. as...', because this method can't remember which application window topped 
  1161. at the moment the original call was made, and normally the selection of 
  1162. such menu items refer to the _currently_ topped window. For this reason 
  1163. this list should only be used for absolutely context independent file 
  1164. selector calls!
  1165.  
  1166. Example #MENUBAR entry in FREEDOM.CNF:
  1167.  
  1168. PC  8 76  Select Project...
  1169.  |  | |     |
  1170.  |  | |     +--Title in the file selector which Freedom┐ looks for
  1171.  |  | +--------Object number of the corresponding menu entry (item)
  1172.  |  +----------Object number of the corresponding menu title (title)
  1173.  +-------------AES Program name (Pure C in this case)
  1174.  
  1175. The title and item values can be determined using MENU_ID, which runs as 
  1176. an application or accessory (APP/ACC) and displays the numbers at the top 
  1177. right of the menu bar. The program is crude and should be removed after 
  1178. use because, in contrast to Freedom┐ itself, MENU_ID does not run under 
  1179. protected MiNT!
  1180. Also bear in mind a new release of any application may have different 
  1181. 'item' or even 'title' values so you'll have to re-establish the correct 
  1182. IDs and update FREEDOM.CNF.
  1183. We've already tried this trick successfully with many programs. The 
  1184. weakest point which Freedom┐ depends upon is that the MN_SELECTED message 
  1185. really is evaluated by the program and answered with a fsel_[ex]input call 
  1186. so that the next file can be sent. It's possible a program will not allow 
  1187. the selection of a particular menu item at any moment, for example it may 
  1188. still be loading the previous file, in which case the MN_SELECTED message 
  1189. will unfortunately be rejected. With Everest a wait time of around half a 
  1190. second is enough, with Pure C it always works (to our pleasure :-) and 
  1191. with other programs it doesn't. After sending a MN_SELECTED message 
  1192. Freedom┐ waits up to ten seconds before releasing 'uncollected' files. If 
  1193. the application has dumped the MN_SELECTED message and you manually call 
  1194. the file selector before ten seconds have elapsed the file selector 
  1195. doesn't appear but the next file in the queue should be delivered. After 
  1196. ten seconds have elapsed the file selector appears when the menu title is 
  1197. called.
  1198. You cannot use this trick in the following cases:
  1199. -The application has no menu line
  1200. -The application uses fsel_input instead of fsel_exinput, which results in 
  1201.  the default 'Select file...' title line which makes it impossible to 
  1202.  distinguish between file selector calls within the same application. It's 
  1203.  OK to so long as the program only calls the file selector once.
  1204. -The application uses fsel_exinput but passes the same menu title from 
  1205.  several different points in the program which makes it impossible to 
  1206.  distinguish between file selector calls within the same application. It's 
  1207.  OK to so long as the program only calls the file selector once.
  1208. -The application opens by calling the relevant menu item the first time 
  1209.  but after loading a file a dialog or some other user input is displayed. 
  1210.  If you click fast enough these work...sometimes!
  1211.  
  1212. There are still some conceivable areas of improvement for this trick:
  1213. The delay between sending MN_SELECTED messages could be made application 
  1214. dependent/adjustable, maybe using fuzzy logic :-)
  1215.  
  1216.  
  1217. Function key definitions
  1218. ------------------------
  1219. The function keys can be freely defined using the #FKTKEYS options in 
  1220. FREEDOM.CNF. A character string is used to represent each option.
  1221. The string is read from left to right and assigned in turn to the function 
  1222. keys F1 to F20 (F11 = [Shift]+F1).
  1223.  
  1224. Example:
  1225. --------
  1226. A-JKDEFGIH
  1227.  
  1228. Assigns F1 with function A (see list below)
  1229. Leaves  F2 unassigned
  1230. Assigns F3 with function J
  1231. ..
  1232.  
  1233. All unassigned function keys are still passed to the AV-Server where each 
  1234. key could peform an action. For example F2 could launch a program.
  1235. Using the #NOSENDKEY option in FREEDOM.CNF keypresses are not sent to the 
  1236. AV-Server, this is particularly useful for applications which cannot 
  1237. tolerate this behaviour (for example Gemini 1.A). Here's the possible 
  1238. functions:
  1239.  
  1240.   A = Drive popup
  1241.   B = File popup (filtered with current mask)
  1242.   C = Extension popup
  1243.   D = Sort popup
  1244.   E = User defined path popup
  1245.   F = Available extensions popup
  1246.   G = Selection mask dialog
  1247.   H = Deselection mask dialog
  1248.   I = New mask dialog
  1249.   J = Find object dialog (bound to selector)
  1250.   K = Create new object dialog
  1251.   L = Selected files to list in Clipboard
  1252.   M = Open file (display or launch)
  1253.   O = History popup (filtered with current mask)
  1254.   P = Recursive touch selected file/s
  1255.   Q = Restore path from the clipboard
  1256.   R = Individual file info dialog
  1257.   S = File count on current drive
  1258.   T = Find object dialog (independent of selector)
  1259.   U = file list exported to clipboard using using #NICEFORMAT string
  1260.   V = File popup (unfiltered)
  1261.   W = History popup (unfiltered)
  1262.   X = File type popup
  1263.   - = Unassigned (Available to AV server)
  1264.  
  1265. Note! By default Freedom┐ does not distinguish between upper and lower 
  1266. case (dependent on the parameter #LOWERCASE) when reading paths and masks. 
  1267. FREEDOM.CNF is formatted using upper and lower case to make it easier to 
  1268. distinguish between commands, comments, paths and masks.
  1269.  
  1270. If you're using a case sensitive file system you can add a preceding '!' 
  1271. character before any path or mask to force Freedom┐ to observe case 
  1272. sensitivity.
  1273.  
  1274. Programmers notes
  1275. =================
  1276. Freedom┐ can be directly supported. Please refer to the FDMPROTO.H, 
  1277. SLECTRIC.H and EXAMPLE.C files in the SOURCE folder in this distribution 
  1278. which covers programming options in more detail...
  1279.  
  1280. We'd like to stress we're hoping programmers will develop direct support 
  1281. for Freedom┐ from their applications, this is beneficial for your 
  1282. applications and every Freedom┐ user. The general guidelines for handling 
  1283. the file selector is:
  1284.  
  1285. If the FSEL Cookie >= v2.0 then the fsel_[ex]input call BEG/END_MCTRL 
  1286. should NOT be bracketed. If the FSEL Cookie < v2.0 the fsel_[ex]input call 
  1287. BEG/END_UPDATE should ALWAYS be bracketed.
  1288.  
  1289. Under development
  1290. =================
  1291. -Conversion to eCPX to run under Christian Grunenberg's 'Space'
  1292. -A 'Set' feature to handle the VA_START/Menu bar tricks.
  1293. -Conflicting filenames dialog to make it possible to rename files during 
  1294.  copy/move operations.
  1295. -MTOS path Drag&Drop (for NEWDESK)
  1296. -Improved Menu bar trick.
  1297. -English hypertext help, yeah it's late and there's already a German 
  1298.  version :-(
  1299. -A setup program to ease Freedom┐ configuration.
  1300. -Signal and AP_TERM evaluation under MultiTOS
  1301.  
  1302. Known limitations
  1303. =================
  1304. -Freedom┐ can't be called from TOS programs. In principle this also 
  1305.  applies to programs running in a VT52/TOSWIN window which would need to 
  1306.  talk to the AES (using appl_init), so the AES file selector server could 
  1307.  exchange data with Freedom┐.
  1308. -Using virtual RAM the program flags 'lalt' and 'malt' must be cleared!
  1309. -There are a programs which don't work 100% with Freedom┐ (although these 
  1310.  are becoming a rare breed). If you find one please report it to us AND 
  1311.  the author of the program so we can solve incompatibilities.
  1312. -The Server uses over 160Kb memory (well you wanted built-in copy/move 
  1313.  operations!). Without abandoning Enhanced GEM and it's wonderful features 
  1314.  we can't see any alternative...
  1315. -In MagiC single mode the Freedom┐ Server is frozen which means the 
  1316.  resident FFSEL.PRG cannot be reached or a second selector cannot be 
  1317.  launched in parallel if a path needs to be passed to FFSEL.INF. Until 
  1318.  MagiC documentation is available we can't solve this...
  1319. -Messages under MiNT from FFSEL.PRG (the resident part) are not evaluated 
  1320.  => after closing each selector/alert (KILL/TERM) one of the eight trap 
  1321.  handler slots is lost.
  1322.  
  1323. Known problems
  1324. ==============
  1325. -CD-Tools. Old versions which worked fine with Freedom┐, now fall through 
  1326.  the Dxreaddir call!
  1327.  Solution: Get the latest version. Freedom┐ is not the only program which 
  1328.  uses Dxreaddir so if you experience any problems with MetaDOS drivers 
  1329.  don't settle for a version which cannot cope with Dxreaddir!
  1330. -Falcon TOSs have an 'extended' Dsetdrv() that causes some problems with 
  1331.  Metados <=2.5 and programs (Freedom┐, Gemini etc.) using the 
  1332.  Dsetdrv(Dgetdrv()) construction.
  1333.  Under some circumstances drives can suddenly vanish using Metados 
  1334.  versions =<2.5. This 'feature' should be corrected in Metados v2.6.
  1335. -Zeig's mir. For some reason Freedom┐ and Zeig's mir don't get along.
  1336.  It appears to depend on a faulty XACC protocol implementation in either 
  1337.  or both our programs but in any event communciation via the XAcc cause 
  1338.  both programs to crash under Single TOS... we're working on it.
  1339. -MultiDialog. Good Idea, terrible implementation. Avoid!
  1340. -STZip (2.6). No redraws occur if the window lies in the background.
  1341. -Some programs don't remember which of their windows can change positions 
  1342.  during file selection/alert display. For example Paula, XControl, Maxidat 
  1343.  and NotePad ignoring rectangle lists and/or sending WM_MOVED messages.
  1344.  Remedy: Don't move the window and inform the author!
  1345. -Kandinsky and Triple_D bomb when run with Freedom┐ installed.
  1346.  This should be fixed in the next Kandinsky release, until then add these 
  1347.  applications by adding the filenames, without extension, under the 
  1348.  #EXCLUDE section in FREEDOM.CNF.
  1349. -The Let 'em Fly 'Niceline' option used with some programs can result in 
  1350.  menu entries being moved (evil!) Neither Freedom┐ (or Let 'em fly) is to 
  1351.  blame. Sufferers: Pixart v1.2 and 'Rastaman'.
  1352.  Remedy: Turn Nicelines off or use alternative programs...
  1353. -If you must use Let 'em Fly then install it after FFSEL.PRG in the Auto 
  1354.  folder otherwise they both try to handle alerts. Obvious really!
  1355.   
  1356.  
  1357. Frequently asked questions
  1358. ==========================
  1359. Q: Why is Freedom┐ so large (and getting bigger with each release)?!
  1360. A: Many people asked us to implement in-built copy/move operations, we've 
  1361.    improved the error/conflict handling, added the menu bar trick and file 
  1362.    type concept. Consider this, Freedom┐ has most of the functionality of 
  1363.    a desktop, MagX is probably the most compact but without window dialogs 
  1364.    and Kobold support it's about the same size!
  1365.    And name us another program which allows you to continue working 
  1366.    during copy/move operations?
  1367.  
  1368. Q: Why after a certain time does Freedom┐ appear modally from all programs 
  1369.    until I select the ACC entry.
  1370. A: This is usually caused by a program placing a form_dial and not 
  1371.    removing it which causes the Freedom┐ trapper to (incorrectly) assume a 
  1372.    dialog is still open on screen. As a workaround when the accessory 
  1373.    version is called it clears the form_dial field. It's also possible to 
  1374.    switch off the form_dial query in the trapper using the #NOFORMDIAL 
  1375.    option in FREEDOM.CNF. This runs the risk with some programs that a 
  1376.    window will open over a dialog and cause screen garbage. Happily only a 
  1377.    few programs still display their dialogs on screen using 
  1378.    form_dial/form_do and of these only GEM-View springs to mind as a 
  1379.    program which tehn calls the file selector.
  1380.    Getting on my soapbox it appears ludicrous to me that programmers don't 
  1381.    rate the multitasking capability of their programs above the saving of 
  1382.    a few Kb of application size. It's especially crazy when the routines 
  1383.    for Windowed dialogs are available as Freeware!
  1384.    Re: Papyrus: V4.0 includes a reworked dialog library which should 
  1385.    relieve it of its status as the main culprit in this area :-)
  1386.  
  1387. Q: Yuck! Why have Freedom┐'s radio buttons become octagonal in monochrome!
  1388. A: Chrisker attempted to install AES-Font idependent round radio buttons 
  1389.    but after several hours fighting with the VDI circle routines admitted 
  1390.    defeat concluding whoever programmed the offending routine knew nothing 
  1391.    of circle algorithms but instead used the Random() command :-)
  1392.    The real result of Chrisker's struggle is only visible when running in 
  1393.    sixteen colours or more using a 3D-AES (those nice new radio 
  1394.    buttons!). When using small AES-Fonts, the octagonals look like 
  1395.    circles/ellipses!
  1396.  
  1397. Q: Why do I get the system selector using CPXs?
  1398. A: It's a deliberate safety measure. In theory Freedom┐ could function by 
  1399.    delving deeper into the system. Before the NVDI 3 Font CPX there 
  1400.    weren't many useful CPXs which called the file selector. CPXs are 
  1401.    normally too small, unmanageable and not multitasking friendly and 
  1402.    that's before we look at XControl which is itself uncleanly 
  1403.    programmed....(I think that's enough! :-)
  1404.    
  1405. Q: Why is the system file selector displayed, for no apparent reason, with 
  1406.    certain programs?
  1407. A: 1) The program makes AES calls before appl_init or doesn't make a 
  1408.       appl_init call at all!
  1409.       (Refer to 'Known problems with other software' for more details)
  1410.    2) Some programs make dirty AES calls (Some calls do not pass the same 
  1411.       global field to the AES parameter block that appl_init initialised).
  1412.    Often the blame lies with outdated GEM libraries which don't include 
  1413.    bindings for some of the 'newer' AES Functions (for example 
  1414.    fsel_exinput) and the programmer has to create them manually.
  1415.    
  1416.    If you're using a different global-field to the library, even out of 
  1417.    necessity, then try to get hold of the GEMPARBLK because it's written 
  1418.    in Pascal, Basic or similar.
  1419.    The GEM libary in Pure Pascal even includes flawed global-fields. Using 
  1420.    Pure C it's very simple to use the GEMPARBLK bindings instead of the 
  1421.    ones in the library. Under MiNT passing an invalid global field causes 
  1422.    the AES itself problems: In this case the MiNT-ID of the application 
  1423.    must always be handled first by Appl-ID.
  1424.  
  1425.    As soon as Andreas makes the internal AES information for MagiC 
  1426.    available we'll be able to address this problem, at least for MagiC.
  1427.  
  1428.    Why programmers should use always the same GEMPARBLK for AES calls
  1429.    ------------------------------------------------------------------
  1430.    GEMPARBLK is a structure which can pass parameters to GEM when calling 
  1431.    a GEM function. This structure also contains the (famous) global-field, 
  1432.    which is initialised by the AES on the first GEM call (appl_init) of an 
  1433.    Application.
  1434.    The information, that is put into that field by the AES is needed by 
  1435.    Freedom┐ to determine which application has made the call. Because the 
  1436.    AES itself doesn't need this information (it always knows, which 
  1437.    Application is running, because normally the AES is the one switching 
  1438.    the tasks!) no one is urged to always use the same GEMPARBLK structure 
  1439.    when calling the AES.
  1440.    For example because CPXs do not call appl_init (they're not 
  1441.    applications), the global-Field of the GEMPARBLK structure they use 
  1442.    usually contains only zero values. But if there's no correct 
  1443.    global-field, there's also no information which Freedom┐ can access to 
  1444.    determine the calling Application, and Freedom┐ has to relinquish 
  1445.    contol to the system file selector.
  1446.  
  1447.    From MagiC 3 Freedom┐ will be able to access the AES internal 
  1448.    information, which should make it possible for Freedom┐ to appear when 
  1449.    calling the file selector from CPXs along with some dirty applications.
  1450.  
  1451. Q: Freedom┐ displays a modal dialog without apparent reason?!
  1452. A: Freedom┐ uses the MCTRL flags and the AES to recognise flying dialogs. 
  1453.    Dialogs can't receive redraw messages so Freedom┐ also has to appear as 
  1454.    a modal dialog. A few programs didn't call the file selector from 
  1455.    flying dials but also set MCTRL (for example Gemini, GemView)
  1456.    -> Freedom┐ must accept this and displays itself as a flying dialog.
  1457.    You can set these programs free by adding the the name displayed in the 
  1458.    Freedom┐ title bar under #IGNOREMCTRL section in FREEDOM.CNF.
  1459.    Programs which also call the selector from dials (for example CAT and 
  1460.    Maxidat) should NOT be listed!
  1461.    The guidelines for programmers are:
  1462.    If the FSEL Cookie >= v2.0 then use fsel_[ex]input call, NOT MCTRL.
  1463.    If the FSEL Cookie <  v2.0 then always use MCTRL and UPDATE should 
  1464.    always be set.
  1465.  
  1466.    Guidelines for programmers
  1467.    --------------------------
  1468.    If the FSEL-Cookie >= 2.00 is installed, the fsel_[ex]input call should 
  1469.    NOT be nested with MCTRL, otherwise always! UPDATE should always be 
  1470.    set.
  1471.  
  1472. Q: If I move Freedom┐ suddenly the windows of the calling application 
  1473.    vanish. However on closing Freedom┐ they all reappear, whats going on?
  1474. A: This is a problem fundamentally linked to the way Freedom┐ works. 
  1475.    Because the calling application simply waits at the file selector it 
  1476.    doesn't notice its windows need redrawing.
  1477.    In order to avoid screen garbage previous Freedom┐ versions have 
  1478.    intercepted any redraw messages and filled the offending window with 
  1479.    the Freedom┐ logo. This method met with wide dissapproval and caused 
  1480.    various problems. We've had a rethink and come up with a new approach 
  1481.    which, although not perfect, circumvents all the earlier problems and 
  1482.    is more elegant, more compatible and needs less overhead from 
  1483.    Freedom┐'s point of view.
  1484.    
  1485.    Guidelines for programmers
  1486.    --------------------------
  1487.    The old process suffered from a further stubbon problem: After 
  1488.    intercepting window redraws Freedom┐ has to restore the windows using a 
  1489.    WM_MOVED, followed of a WM_REDRAW message but:
  1490.    1) A considerable number of applications don't send a message after 
  1491.       file selection.
  1492.    2) Came sometimes a further, from the AES sent WM_REDRAW between them,
  1493.       and so the WM_MOVED arrived not more than first message with the 
  1494.       application and so the window is redrawn at the wrong position.
  1495.    There's also a problem with XAcc messages which can under certain 
  1496.    circumstances get lost when a certain upper limit is passed with all 
  1497.    known AES versions. The (mildest) effect is application windows which 
  1498.    that were moved during file selection didn't receive any Redraw/Moved 
  1499.    messages, although (according to Sysmon) they were sent.
  1500.    Under MagiC, with lots of open windows, one possible workaround is to 
  1501.    send a SMC_TIDY_UP message instead of loads of redraws...
  1502.  
  1503. Q: If Kobold or Parafin are called from Freedom┐, under MagiC their 
  1504.    windows are not handled correctly. What's going on?
  1505. A: MagiC sends false window top messages! MagiC tries to prevent the top 
  1506.    window and menu line belonging to different programs.
  1507.    As a consequence (and to the chagrin of many users) closing the last 
  1508.    window of an application takes the window stack out of consideration.
  1509.    Normally this effect would appear every time Freedom┐ closes its last 
  1510.    window (which it naturally does quite often!). Happily a trick has 
  1511.    fallen into our laps:
  1512.    If MagiC is available, Freedom┐ bottoms the corresponding window before 
  1513.    closing it.
  1514.    If the last window closed is not the top window MagiC behaves 
  1515.    completely 'normally'.
  1516.    Hopefully either MagiC will change its behaviour or this loophole 
  1517.    remains available! -Although we can't expect all programmers to 
  1518.    implement the 'bottom' trick...
  1519.  
  1520. Q: Can Freedom┐ really survive a resolution change?
  1521. A: Yes! But as a precaution it's a good idea to close any Freedom┐ 
  1522.    selectors/alerts!
  1523.  
  1524. Q: Why does MiNT display the System alert and file selector using 
  1525.    'Load...'?
  1526. A: This alert/file selector is called directly from the AESSYS.
  1527.    Freedom┐ should not control this process...
  1528.  
  1529. Q: Why does the MagiC 'Start program...' display the system file selector 
  1530.    when Selectric┐ works OK?
  1531. A: MagiC accesses the file selector differently for this operation and 
  1532.    this is not accessible to Freedom┐ therefore the system file selector 
  1533.    appears. (You can also run Selectric┐ alongside Freedom┐ by running it 
  1534.    before FFSEL in the Auto folder in which case Selectric┐ appears!).
  1535.    
  1536. Q: If I use Freedom┐ to copy files using Kobold 2 with Gemini <=1.a 
  1537.    installed then the Freedom┐ window is updated before instead of after 
  1538.    the copy operation.
  1539. A: An Error in Gemini (The corresponding message is sent before Gemini 
  1540.    receives a reply from Kobold, and in general if something is copied).
  1541.  
  1542. Q: Gemini sometimes crashes when I press unassigned keys in Freedom┐.
  1543. A: Freedom┐ passes unassigned keys to the AV-Server. Gemini 1.a doesn't 
  1544.    tolerate this behaviour and leads to a crash.
  1545.    Activate the #NOSENDKEY in FREEDOM.CNF to cure the problem.
  1546.    
  1547. Q: Freedom┐ locked up/crashed my system...
  1548. A: We and our beta testers have thoroughly tested Freedom┐ with all the 
  1549.    applications we can get our hands on but there are bound to be problems 
  1550.    with a few applications!
  1551.    If you do encounter a problem first check the problem occurs on a 
  1552.    completely clean system with NO Auto folder or accessories loaded. If 
  1553.    the problem persists please report it using one of the contact 
  1554.    addresses. Include you machine details along with the program name 
  1555.    (send it to us if possible), version with a clear concise description 
  1556.    of the problem and we'll do our best to fix it.
  1557.    
  1558. Q: Do I have to load Freedom┐ as an ACC under Single TOS?
  1559. A: Yes. Freedom┐ is designed to run as a parallel application under a 
  1560.    multitasking OS and under Single TOS the only way to do this is as a 
  1561.    desktop accessory. This will change when the eCPX version of Freedom┐ 
  1562.    is released for Space!
  1563.  
  1564. Q: Why are the calls #VASTART, #MENUBAR and #NOALERTS included in the 
  1565.    Freedom┐ configuration file?
  1566. A: These are needed when running Freedom┐ as an application to overcome 
  1567.    some fundamental limitations in this mode of operation. They will not 
  1568.    be needed in the forthcoming Freedom┐ eCPX.
  1569.     
  1570. Q: Why are the three images (FREDOMxx.IMG) so nice?
  1571. A: Because Chrisker designed them.
  1572.  
  1573. Q: Why are the Freedom┐ function icons so nice?
  1574. A: Because Kolja designed them!
  1575.  
  1576. Legal stuff
  1577. ===========
  1578. No part of this publication or other Freedom┐ documentation may be 
  1579. reproduced, transmitted, transcribed, stored in a retrieval system, or 
  1580. translated into another language or computer language, in any form or by 
  1581. any means, electronic, mechanical, magnetic, optical, chemical, manual or 
  1582. otherwise without prior written consent of the authors.
  1583.  
  1584. Warranty and liability
  1585. ----------------------
  1586. Whilst we will make our best endeavours to resolve any problems you may 
  1587. experience using Freedom┐ the liability of the authors and their agents 
  1588. for any loss, or consequential loss, you may suffer due to the use of 
  1589. Freedom┐ is strictly limited to refunding your shareware fee.
  1590.  
  1591. All trademarks used are recognised and acknowledged.
  1592.  
  1593. About this documentation
  1594. ------------------------
  1595. -Original German manual
  1596.  (c) 1995 by Christian Krüger and Kolja Koischwitz
  1597. -English translation and adaptation
  1598.  Joe Connor
  1599.  
  1600. Registration:
  1601. =============
  1602. Option 1
  1603. --------
  1604. UK users can register locally via Joe Connor's Supported Shareware scheme. 
  1605. Refer to the file SUPPORT.TXT included with this archive. Alternatively 
  1606. you may register directly:
  1607.  
  1608. Option 2
  1609. --------
  1610. Send DM 30 (cash, Eurocheque etc) and a self addressed envelope and 
  1611. international reply coupon to:
  1612.  
  1613.   Kolja Koischwitz
  1614.   Sandhauser Stra₧e 21
  1615.   13505 Berlin
  1616.  
  1617. Option 3
  1618. --------
  1619. Transfer DM 30 to the following bank account:
  1620.  
  1621.   PGiroamt Berlin
  1622.   Kolja Koischwitz
  1623.   BLZ (Sort Code): 10010010
  1624.   Konto-Nr (Account No): 705 92-100
  1625.  
  1626. Be sure to clearly state the transfer is to register Freedom┐ along with 
  1627. with your contact details!! Please also send an Email/letter to confirm 
  1628. your transfer.
  1629.  
  1630. To generate your key we need the following details:
  1631.  
  1632. Name:                  ....................................
  1633. Street:                ....................................
  1634. Town, County Postcode: ....................................
  1635.  
  1636. We'll rush you a key together with the latest registered version which you 
  1637. can only unpack using your personal key!
  1638.                                    
  1639. Email contacts
  1640. --------------
  1641. Authors:
  1642. Kolja:     joust@cs.tu-berlin.de
  1643. Chrisker:  chrisker@cs.tu-berlin.de
  1644.  
  1645. Agents:
  1646. Criss:     Christian_Grunenberg@lb.maus.de (EnhancedGEM-Library)
  1647. Joe:       jconnor@cix.compulink.co.uk
  1648.  
  1649. That's it! Kolja and Chrisker
  1650.